<?php
Class FormapagosController extends AppController { 
var $name = 'Formapagos';

//FUNCIONES PRINCIPALES//

function index () 
{
	$this->set('test',$this->Formapago->findAll());
}

//TESTING CODE INICIO
function in2ex()
{
		$this->set('formapagos',$this->Formapago->findAll());
}
//TESTING CODE FIN
	
//genera un arreglo con [id]=> nombre. Para un Select Tag.
// function listarFormapagos($nombre=null)
// {
// 	$fields = array('id','nombre');
// 	$condicion = array ("nombre" => "LIKE $nombre%");
// 	return($this->Formapago->findAll($condicion,$fields,null,null,1,0));
// 
// }

function listarFormaPagos() 
{
	//Hardcodeado ver si poner en la db
	$tipoFormaPago = array
	(
		''=>'Seleccionar',
		'Efectivo' 	=> 'Efectivo',
		'Cheque' =>	'Cheque',
		'Tarjeta' => 'Tarjeta'
	);
	return $tipoFormaPago;
	
}

//Funcion que devuelve un array de las formas de pago que hay
//Formato: [nombre]:nombre
function seleccionarFormaPagos() 
{
	return $this->Formapago->generateList(null,'nombre ASC', null, '{n}.Formapago.nombre','{n}.Formapago.nombre' );
}

function add() 
{
	//setea la variables de errores y status
	$this->setearVariables();
	
	//Si los campos no estan vacios
	if(empty($this->data))
	{//si no hay datos se renderiza de nuevo
		$this->render();
	}
	else
	{//sino intenta guardar los datos
		if(!$this->Formapago->save($this->data))
		{//si no lo consigue setea un error
			$this->set('statusServicio', 'Existen errores con Formas de Pago');
			//$this->render();
			return false;
		}
		else 
		{//redirecciona al index
			//$this->flash('Datos Guardados','/formapagos/in2ex');
			$ultimoId=$this->Formapago->getLastInsertId();
			return $ultimoId;
			//return true;
		}
	}
}

function addEfectivo()
{
	//setea la variables de errores y status
	$this->setearVariables();
	
	$tipoMoneda = array
		(
		'pesos' =>	'pesos',
		'dolares' 	=> 'dolares'
		);
		
	$this->set('tipoMoneda', $tipoMoneda);
	//$this->data['Formapago']['nombre']='Efectivo';

	$this->render();
	
	//Si los campos no estan vacios
	if(empty($this->data))
	{//si no hay datos se renderiza de nuevo
		//$this->render();
	}
	else
	{//sino intenta guardar los datos
		if(!$this->Formapago->save($this->data) && !$this->Formapago->Efectivo->save($this->data))
		{//si no lo consigue setea un error
			$this->set('statusServicio', 'Existen errores con Formas de Pago');
			$this->render();
		}
		else 
		{//redirecciona al index
			return $this->Formapago->getLastInsertId();
			//$this->flash('Datos Guardados','/formapagos/in2ex');
		}
	}
	
}

function obtenerUltimoId()
{
	return ($this->Formapago->getLastInsertId());
}

function addIngresoFormaPago($nombre=null)
{
	//setea la variables de errores y status
	$this->setearVariables();
	
	//Si los campos no estan vacios
	if(empty($nombre))
	{//si no hay datos se renderiza de nuevo
		$this->set('statusServicio', 'Existen errores con Formas de Pago');
	}
	else
	{//sino intenta guardar los datos
		$this->data['Formapago']['nombre']=$nombre;
		if(!$this->Formapago->save($this->data['Formapago']))
		{//si no lo consigue setea un error
			$this->set('statusServicio', 'Existen errores con Formas de Pago');
			//$this->render();
		}
		else 
		{//redirecciona al index
			$lastIdFormaPago = $this->Formapago->getLastInsertId();
			if ($this->requestAction("/$nombre.'s'/add/$lastIdFormaPago")) 
			{
				//tengo q devolver el control a quien me llamo
				//Como chinga hago esto???? :P
				$this->flash('Datos Guardados',"/cuentas/addIngreso/");
			}
		}
	}
}

	
function modify ($id=null)
{
	//setea la variables de errores y status
	$this->setearVariables();
	
	//Carga el data para mostrar los datos.
	if (empty($this->data))  { 
		$this->Formapago->id = $id;
		$this->data = $this->Formapago->read();
	}
	//Aqui es cuando graba los datos.
	else 
	{ 
		if ($this->Formapago->save($this->data['Formapago']))
			{
				$this->flash('Datos Modificados','/formapagos/in2ex');
		}

	}
}


//funcion que borra un servicio, creo que no deberia existir esta funcion.
function delete($id=null)
{
	if ($this->Formapago->del($id))
	{
		$this->flash('Datos eliminados','/formapagos/in2ex');
	}

}


//FIN FUNCIONES PRINCIPALES//

function setearVariables()
{
	//seteamos las variables de error para ser mostradas en caso de no poder
	//guardar los datos
	
	//Mensaje de status q se muestra arriba de los datos.
	$this->set('statusFormapago', 'Ingrese los datos de la Forma de Pago');	
	$error = array 
	(
		'Formapago/nombre'=> 'Formato del nombre incorrecto.'
	);

	$this->set('error',$error);
}
	
	

}
?>